class Solution {
    // -1  -2  -3
    public int maxSubArray(int[] nums) {
        int addValue = 0, max = nums[0];
        for (int num : nums) {
            if (addValue > 0) {
                // 有益增幅
                addValue += num;
            } else {
                // 从新指向增幅
                addValue = num;
            }
            max = Math.max(max, addValue);
        }
        return max;
    }
}
